1. Field of the Invention
The present invention relates to a data processing technique in color space conversion of image data.
2. Description of the Related Art
In recent years, color input devices such as scanners, digital cameras, video cameras, and the like have prevailed as input devices. Also, various color output devices such as color printers using an ink-jet system, dye sublimation system, electrophotographic system, and the like have prevailed as output devices. These color input and output devices respectively have unique color spaces (device color spaces). In order to print data read by an input device using an output device, processing for converting the color space of the input device into that of the output device (to be referred to as “color space conversion” hereinafter) is required.
For example, upon printing RGB image data scanned by a scanner, the RGB color space of the scanner is converted into a standard color space (e.g., Adobe RGB proposed by Adobe Systems Incorporated). After that, the standard color space is converted into a CMYK color space defined by cyan, magenta, yellow, and black as that of color materials (inks or toners) of a printer.
Even in identical RGB color spaces such as RGB color spaces of a scanner and monitor, if they have different color space characteristics (color gamuts), they require color conversion. More specifically, when a monitor displays an image scanned by a scanner, conversion from a scanner RGB color space to a monitor RGB color space is required to attain color matching.
As one of such color conversion processing methods, a color conversion method that combines a three-dimensional lookup table (3D-LUT) and interpolation operations is known. As an interpolation operation method, tetrahedral interpolation disclosed in GB1595122, EP0969413, or the like is known because of an operation volume, color continuity between neighboring tetrahedrons, and high reproducibility of a gray axis.
However, with the color conversion method based on a combination of the 3D-LUT and interpolation operations, when the number of grid points (to be referred to as “number of grids” hereinafter) per axis of the LUT is increased to improve the color conversion precision, the size of the LUT increases to the third power for three dimensions. Also, a digital camera to which a color filter other than RGB is added to improve the color reproducibility is available. In this case, the size of the LUT increases to the fourth power of the number of grids, thus requiring a huge memory size.
On the other hand, some output devices such as printers or the like use many color materials (inks) to improve the color reproducibility, gray balance, and granularity. In this case, the LUT size increases in proportion to the number of color materials.
For these reasons, in order to reduce the cost of the LUT, various proposals have been made. For example, a color conversion method which hierarchizes an LUT, stores all grid data of the LUT in a storage (memory) which has low cost but low speed, and loads only data required in arithmetic operations onto a high-speed cache has been examined.
However, in such a cache mechanism, the cache hit rate determines the total performance, and a relatively large cache size must be assured to complete the process within a predetermined period of time for every input data. Hence, a problem of poor cost performance is posed. Furthermore, such a problem is similarly posed when an LUT is used in processing other than color space conversion.